


/* Main IV regressions */



use "G:\Data\Workdata\707677\Common\01Data\02STATA\panel_iv", clear 

cd  G:\Data\Workdata\707677\Common\03Output\02Regresssions




keep if time==1

tab obs_lawyer

egen lawyer_id_unique =group(lawyerid court) // Unique lawyer id within courts. some lawyers work in multiple courts
bys lawyer_id_unique: egen n_lawyer=count(lawyer_id_unique)
egen mean_lawyer_leniency= mean(granted), by(lawyer_id_unique)

gen iv_judge2_all = (mean_lawyer_leniency*n_lawyer - granted)/(n_lawyer-1)

gen iv_lawyer2=iv_judge2_all-(iv_court*obs_court-granted)/(obs_court-1)



* Data restrictions more than 20 obs pr lawyer and multiple lawyers in a given court*year



keep if n_lawyer>=20

egen n_judge=nvals(lawyer_id_unique), by(court aar)



tab n_judge

keep if n_judge>1

keep pnr iv_lawyer2 lawyer_id_unique



merge 1:m pnr using "G:\Data\Workdata\707677\Common\01Data\02STATA\panel_iv"




keep if _merge==3
drop _merge

keep if time>0

tab lawyer_id_unique, gen(lawyer_dum)


egen court_pyear =group(court pyear) 
tab court_pyear

tab time

tab aar, gen(aardum)




local Xvar_short "male age_0_40 age_41_50 age_51_60 age_61_70 erhvervsindk_mean employed_pstill_mean unemployed_pstill_mean legmarried_m1 racedum1 housedum1 passiv_m1 aktiv_m1 higher_secondary university social_mean edu_missing housing_missing timelon_dum1 timelon_dum2 timelon_dum3 timelon_dum4 house_m1"



/* IV Regress */


// Complier mean "Family welfare culture style" NEW


reg granted iv_lawyer2 `Xvar_short' i.court_pyear , cluster(lawyer_id_unique)

reg iv_lawyer2 i.court_pyear if granted==0
predict lawyer_residual, res

reg granted lawyer_residual  i.court_pyear , cluster(lawyer_id_unique)


gen beta_lawyer2=_b[lawyer_residual]

gen alpha_lawyer2=_b[_cons]

sort aar pnr

// Percentiles of instrument

egen p99_iv_lawyer2=pctile(iv_lawyer2), p(99)

egen p1_iv_lawyer2=pctile(iv_lawyer2), p(1)

egen p99_iv_judge2=pctile(iv_lawyer2), p(99)

egen p1_iv_judge2=pctile(iv_lawyer2), p(1)


// IV_lawyer_2

gen complier_iv_lawyer2= beta_lawyer2*(p99_iv_lawyer2-p1_iv_lawyer2) in 1 

gen always_taker_lawyer2 = alpha_lawyer2 + beta_lawyer2 * p1_iv_lawyer2 in 1

gen never_taker_lawyer2 = 1 - alpha_lawyer2 - beta_lawyer2 * p99_iv_lawyer2 in 1

gen all_lawyer2 = complier_iv_lawyer2 + always_taker_lawyer2 + never_taker_lawyer2 in 1

capture drop lawyer_residual

reg iv_lawyer2 i.court_pyear if granted==0
predict lawyer_residual, res

reg erhvervsindk_real lawyer_residual if granted==0

capture drop upper_bound
capture drop lower_bound

gen upper_bound = _b[_cons]+_b[lawyer_residual]*p99_iv_lawyer2
gen lower_bound = _b[_cons] + _b[lawyer_residual]*p1_iv_lawyer2


capture drop complier_mean_mogstad
local complier_mean_mogstad = ((never_taker_lawyer2+ complier_iv_lawyer2)/complier_iv_lawyer2)*(lower_bound)-(never_taker_lawyer2/complier_iv_lawyer2)*upper_bound






// complier means for non-granted

gen no_treat=(1-granted)



gen y_no_treat= no_treat*erhvervsindk_real
gen y_treat= granted*erhvervsindk_real


ivreghdfe y_no_treat (no_treat=iv_lawyer2) , absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) // Include controls? 
local complier_mean=_b[no_treat]

ivreghdfe y_treat (granted=iv_lawyer2) , absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) 



sum erhvervsindk_real if granted==0

local dismissed_mean=r(mean)


sum erhvervsindk_real 

local dependent_mean=r(mean)



reg   erhvervsindk_real granted `Xvar_short' i.court_pyear if time==1
local individuals=e(N)


ivreghdfe erhvervsindk_real (granted=iv_lawyer2) `Xvar_short' aardum2-aardum35, absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) 





outreg2 using iv_results.xls, replace ctitle(IV erhvervsindk_real) keep(granted) ///
 addstat(Non-granted mean, `dismissed_mean',Non-granted complier mean, `complier_mean', complier mean mogstad, `complier_mean_mogstad', dependent_mean, `dependent_mean', individuals, `individuals')



local depvar "employed_pstill unemployed_pstill out_of_lf_pstill timelon_real aktiv_real passiv_real formue_real koejd_real house tilbtot_real disability kontant_real social netovskud_real dispon_ny_real legmarried attrition mortgage_real"





foreach var of varlist `depvar'{

// complier means for non-granted
capture drop y_no_treat
gen y_no_treat= no_treat*`var'

ivreghdfe y_no_treat (no_treat=iv_lawyer2) , absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) 
local complier_mean=_b[no_treat]

// complier mean non-granted mogstad

reg `var' lawyer_residual if granted==0

capture drop upper_bound
capture drop lower_bound

gen upper_bound = _b[_cons]+_b[lawyer_residual]*p99_iv_lawyer2
gen lower_bound = _b[_cons] + _b[lawyer_residual]*p1_iv_lawyer2


capture drop complier_mean_mogstad
local complier_mean_mogstad = ((never_taker_lawyer2+ complier_iv_lawyer2)/complier_iv_lawyer2)*(lower_bound)-(never_taker_lawyer2/complier_iv_lawyer2)*upper_bound



sum `var' if granted==0
local dismissed_mean=r(mean)


sum `var' 
local dependent_mean=r(mean)



reg `var' granted `Xvar_short' i.court_pyear if time==1
local individuals=e(N)

ivreghdfe `var' (granted=iv_lawyer2) `Xvar_short' aardum2-aardum35, absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) 


outreg2 using iv_results.xls, append ctitle(IV `var')  keep(granted) ///
 addstat(Non-granted mean, `dismissed_mean',Non-granted complier mean, `complier_mean', complier mean mogstad, `complier_mean_mogstad', dependent_mean, `dependent_mean', individuals, `individuals')



}









/* Unsecured debt */




// complier means for non-granted

capture drop y_no_treat
gen y_no_treat= no_treat*bankgaeld_real

ivreghdfe y_no_treat (no_treat=iv_lawyer2) , absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) 
local complier_mean=_b[no_treat]

// complier mean non-granted mogstad

reg bankgaeld_real lawyer_residual if granted==0

capture drop upper_bound
capture drop lower_bound

gen upper_bound = _b[_cons]+_b[lawyer_residual]*p99_iv_lawyer2
gen lower_bound = _b[_cons] + _b[lawyer_residual]*p1_iv_lawyer2


capture drop complier_mean_mogstad
local complier_mean_mogstad = ((never_taker_lawyer2+ complier_iv_lawyer2)/complier_iv_lawyer2)*(lower_bound)-(never_taker_lawyer2/complier_iv_lawyer2)*upper_bound



sum bankgaeld_real if granted==0
local dismissed_mean=r(mean)


sum bankgaeld_real 
local dependent_mean=r(mean)



reg bankgaeld_real granted `Xvar_short' i.court_pyear if time==1
local individuals=e(N)


ivreghdfe bankgaeld_real (granted=iv_lawyer2) `Xvar_short' aardum5-aardum35, absorb(court_pyear) tol(1e-6) first cluster(lawyer_id_unique) 




outreg2 using iv_results.xls, append ctitle(IV bankgaeld_real)  keep(granted) ///
 addstat(Non-granted mean, `dismissed_mean',Non-granted complier mean, `complier_mean', complier mean mogstad, `complier_mean_mogstad', dependent_mean, `dependent_mean', individuals, `individuals')























